

<!DOCTYPE html>
<html lang="zh-CN" data-default-color-scheme=auto>



<head>
  <meta charset="UTF-8">
  <link rel="apple-touch-icon" sizes="76x76" href="/e-page/news/img/favicon.ico">
  <link rel="icon" href="/e-page/news/img/favicon.ico">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0, shrink-to-fit=no">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  
  <meta name="theme-color" content="#2f4154">
  <meta name="author" content="YanpingDong">
  <meta name="keywords" content="">
  
    <meta property="og:type" content="website">
<meta property="og:title" content="e-page">
<meta property="og:url" content="https://yanpingdong.gitee.io/e-page/index.html">
<meta property="og:site_name" content="e-page">
<meta property="og:locale" content="zh_CN">
<meta property="article:author" content="YanpingDong">
<meta name="twitter:card" content="summary_large_image">
  
  
  
  <title>e-page</title>

  <link  rel="stylesheet" href="https://lib.baomitu.com/twitter-bootstrap/4.6.1/css/bootstrap.min.css" />





<!-- 主题依赖的图标库，不要自行修改 -->
<!-- Do not modify the link that theme dependent icons -->

<link rel="stylesheet" href="//at.alicdn.com/t/font_1749284_hj8rtnfg7um.css">



<link rel="stylesheet" href="//at.alicdn.com/t/font_1736178_lbnruvf0jn.css">


<link  rel="stylesheet" href="/e-page/news/css/main.css" />


  <link id="highlight-css" rel="stylesheet" href="/e-page/news/css/highlight.css" />
  
    <link id="highlight-css-dark" rel="stylesheet" href="/e-page/news/css/highlight-dark.css" />
  




  <script id="fluid-configs">
    var Fluid = window.Fluid || {};
    Fluid.ctx = Object.assign({}, Fluid.ctx)
    var CONFIG = {"hostname":"yanpingdong.gitee.io","root":"/e-page/news/","version":"1.9.5-a","typing":{"enable":true,"typeSpeed":70,"cursorChar":"_","loop":false,"scope":[]},"anchorjs":{"enable":true,"element":"h1,h2,h3,h4,h5,h6","placement":"left","visible":"hover","icon":""},"progressbar":{"enable":true,"height_px":3,"color":"#29d","options":{"showSpinner":false,"trickleSpeed":100}},"code_language":{"enable":true,"default":"TEXT"},"copy_btn":true,"image_caption":{"enable":true},"image_zoom":{"enable":true,"img_url_replace":["",""]},"toc":{"enable":true,"placement":"right","headingSelector":"h1,h2,h3,h4,h5,h6","collapseDepth":0},"lazyload":{"enable":true,"loading_img":"/img/loading.gif","onlypost":false,"offset_factor":2},"web_analytics":{"enable":false,"follow_dnt":true,"baidu":null,"google":{"measurement_id":null},"tencent":{"sid":null,"cid":null},"woyaola":null,"cnzz":null,"leancloud":{"app_id":null,"app_key":null,"server_url":null,"path":"window.location.pathname","ignore_local":false}},"search_path":"/e-page/news/local-search.xml","include_content_in_search":true};

    if (CONFIG.web_analytics.follow_dnt) {
      var dntVal = navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack;
      Fluid.ctx.dnt = dntVal && (dntVal.startsWith('1') || dntVal.startsWith('yes') || dntVal.startsWith('on'));
    }
  </script>
  <script  src="/e-page/news/js/utils.js" ></script>
  <script  src="/e-page/news/js/color-schema.js" ></script>
  


  
<meta name="generator" content="Hexo 6.3.0"></head>


<body>
  

  <header>
    

<div class="header-inner" style="height: 60vh;">
  <nav id="navbar" class="navbar fixed-top  navbar-expand-lg navbar-dark scrolling-navbar">
  <div class="container">
    <a class="navbar-brand" href="/e-page/news/">
      <strong>e-page</strong>
    </a>

    <button id="navbar-toggler-btn" class="navbar-toggler" type="button" data-toggle="collapse"
            data-target="#navbarSupportedContent"
            aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
      <div class="animated-icon"><span></span><span></span><span></span></div>
    </button>

    <!-- Collapsible content -->
    <div class="collapse navbar-collapse" id="navbarSupportedContent">
      <ul class="navbar-nav ml-auto text-center">
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="/e-page/news/../">
                <i class="iconfont icon-home-fill"></i>
                <span>Home</span>
              </a>
            </li>
          
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="/e-page/news/">
                <i class="iconfont icon-books"></i>
                <span>News</span>
              </a>
            </li>
          
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="/e-page/news/archives/">
                <i class="iconfont icon-archive-fill"></i>
                <span>Archives</span>
              </a>
            </li>
          
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="/e-page/news/categories/">
                <i class="iconfont icon-category-fill"></i>
                <span>Categories</span>
              </a>
            </li>
          
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="/e-page/news/tags/">
                <i class="iconfont icon-tags-fill"></i>
                <span>Tag</span>
              </a>
            </li>
          
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="/e-page/news/about/">
                <i class="iconfont icon-user-fill"></i>
                <span>About</span>
              </a>
            </li>
          
        
        
          <li class="nav-item" id="search-btn">
            <a class="nav-link" target="_self" href="javascript:;" data-toggle="modal" data-target="#modalSearch" aria-label="Search">
              <i class="iconfont icon-search"></i>
            </a>
          </li>
          
        
        
          <li class="nav-item" id="color-toggle-btn">
            <a class="nav-link" target="_self" href="javascript:;" aria-label="Color Toggle">
              <i class="iconfont icon-dark" id="color-toggle-icon"></i>
            </a>
          </li>
        
      </ul>
    </div>
  </div>
</nav>

  

<div id="banner" class="banner" parallax=true
     style="background: url('/e-page/news/img/bg/banner.jpg') no-repeat center center; background-size: cover;">
  <div class="full-bg-img">
    <div class="mask flex-center" style="background-color: rgba(0, 0, 0, 0.3)">
      <div class="banner-text text-center fade-in-up">
        <div class="h2">
          
            <span id="subtitle" data-typed-text="没人会嘲笑竭尽全力的人"></span>
          
        </div>

        
      </div>

      
    </div>
  </div>
</div>

</div>

  </header>

  <main>
    
      <div class="container nopadding-x-md">
        <div id="board"
          >
          
          <div class="container">
            <div class="row">
              <div class="col-12 col-md-10 m-auto">
                


  <div class="row mx-auto index-card">
    
    
    <article class="col-12 col-md-12 mx-auto index-info">
      <h2 class="index-header">
        
        <a href="/e-page/news/2024/01/29/java-string/" target="_self">
          java String类基础
        </a>
      </h2>

      
      <a class="index-excerpt index-excerpt__noimg" href="/e-page/news/2024/01/29/java-string/" target="_self">
        <div>
          先搞清楚final的作用，然后再看String类，对说明String类的并发安全不是由final来保证的，而是由String类的不可变性（1.不可被继承 2.String内部内容的实际承载者byte[] value没有提供任何修改方法 3.value是private 三者保证了不可变性）来保证的就更好理解。 另外请记住，产生并发安全的核心是因为并发修改同一个对象！！！ java final关键字f
        </div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>
            <time datetime="2024-01-29 10:58" pubdate>
              2024-01-29
            </time>
          </div>
        
        
          <div class="post-meta mr-3 d-flex align-items-center">
            <i class="iconfont icon-category"></i>
            

<span class="category-chains">
  
  
    
      <span class="category-chain">
        
  <a href="/e-page/news/categories/%E5%90%8E%E7%AB%AF/" class="category-chain-item">后端</a>
  
  

      </span>
    
  
</span>

          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/e-page/news/tags/java/">#java</a>
            
          </div>
        
      </div>
    </article>
  </div>

  <div class="row mx-auto index-card">
    
    
    <article class="col-12 col-md-12 mx-auto index-info">
      <h2 class="index-header">
        
        <a href="/e-page/news/2023/11/01/OpenSSH-to-deprecate-SHA-1-logins/" target="_self">
          openssh默认不再支持ssh-rsa
        </a>
      </h2>

      
      <a class="index-excerpt index-excerpt__noimg" href="/e-page/news/2023/11/01/OpenSSH-to-deprecate-SHA-1-logins/" target="_self">
        <div>
          背景ubuntu系统从20.04升级到22.04后，使用git去拉取代码时，报错： 123xxx(master) git pullsign_and_send_pubkey: no mutual signature supportedxxx@xxx.xxx.com: Permission denied (publickey).  然后查了下，简单的解释就是，由于SHA-1算法不安全，在windows
        </div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>
            <time datetime="2023-11-01 13:18" pubdate>
              2023-11-01
            </time>
          </div>
        
        
          <div class="post-meta mr-3 d-flex align-items-center">
            <i class="iconfont icon-category"></i>
            

<span class="category-chains">
  
  
    
      <span class="category-chain">
        
  <a href="/e-page/news/categories/%E5%90%8E%E7%AB%AF/" class="category-chain-item">后端</a>
  
  

      </span>
    
  
</span>

          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/e-page/news/tags/%E6%A6%82%E5%BF%B5/">#概念</a>
            
          </div>
        
      </div>
    </article>
  </div>

  <div class="row mx-auto index-card">
    
    
      <div class="col-12 col-md-4 m-auto index-img">
        <a href="/e-page/news/2023/10/24/how-to-write-hexo-theme-post/" target="_self">
          <img src="/e-page/news/2023/10/24/how-to-write-hexo-theme-post/pic/hexo_diff_part_post.png" srcset="/e-page/news/img/loading.gif" lazyload alt="怎么编写hexo主题-post 4">
        </a>
      </div>
    
    <article class="col-12 col-md-8 mx-auto index-info">
      <h2 class="index-header">
        
        <a href="/e-page/news/2023/10/24/how-to-write-hexo-theme-post/" target="_self">
          怎么编写hexo主题-post 4
        </a>
      </h2>

      
      <a class="index-excerpt " href="/e-page/news/2023/10/24/how-to-write-hexo-theme-post/" target="_self">
        <div>
          继怎么编写hexo主题-index 3后，我们继续写主题的post部分。 如果不区分\achives,\tags\&#123;tag&#125;,\categories\&#123;category&#125;,页面的呈现样式，让他们共用index.ejs内容子模板。写完post，一个hexo的最简单的主题就算写完了！ 主题整体目录结构如下图所示，多了post.ejs,_patial&#x2F;p
        </div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>
            <time datetime="2023-10-24 17:21" pubdate>
              2023-10-24
            </time>
          </div>
        
        
          <div class="post-meta mr-3 d-flex align-items-center">
            <i class="iconfont icon-category"></i>
            

<span class="category-chains">
  
  
    
      <span class="category-chain">
        
  <a href="/e-page/news/categories/%E5%89%8D%E7%AB%AF/" class="category-chain-item">前端</a>
  
  

      </span>
    
  
</span>

          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/e-page/news/tags/js/">#js</a>
            
          </div>
        
      </div>
    </article>
  </div>

  <div class="row mx-auto index-card">
    
    
      <div class="col-12 col-md-4 m-auto index-img">
        <a href="/e-page/news/2023/10/23/how-to-write-hexo-theme-index/" target="_self">
          <img src="/e-page/news/2023/10/23/how-to-write-hexo-theme-index/pic/hexo_index_demo_page.png" srcset="/e-page/news/img/loading.gif" lazyload alt="怎么编写hexo主题-index 3">
        </a>
      </div>
    
    <article class="col-12 col-md-8 mx-auto index-info">
      <h2 class="index-header">
        
        <a href="/e-page/news/2023/10/23/how-to-write-hexo-theme-index/" target="_self">
          怎么编写hexo主题-index 3
        </a>
      </h2>

      
      <a class="index-excerpt " href="/e-page/news/2023/10/23/how-to-write-hexo-theme-index/" target="_self">
        <div>
          index是访问首页的时候第一个展现出的内容，所以这个页面是整个网站的入口，也是最重要的页面，一般里面包括：  简单的内容列表：文章的题目、展示图片、简介、时间等简要的内容 如果超出了列表长度，则显示分页
        </div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>
            <time datetime="2023-10-23 16:23" pubdate>
              2023-10-23
            </time>
          </div>
        
        
          <div class="post-meta mr-3 d-flex align-items-center">
            <i class="iconfont icon-category"></i>
            

<span class="category-chains">
  
  
    
      <span class="category-chain">
        
  <a href="/e-page/news/categories/%E5%89%8D%E7%AB%AF/" class="category-chain-item">前端</a>
  
  

      </span>
    
  
</span>

          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/e-page/news/tags/js/">#js</a>
            
          </div>
        
      </div>
    </article>
  </div>

  <div class="row mx-auto index-card">
    
    
      <div class="col-12 col-md-4 m-auto index-img">
        <a href="/e-page/news/2023/10/23/how-to-write-hexo-theme-layout/" target="_self">
          <img src="/e-page/news/2023/10/23/how-to-write-hexo-theme-layout/pic/hexo_layout_diff_part.png" srcset="/e-page/news/img/loading.gif" lazyload alt="怎么编写hexo主题-layout 2">
        </a>
      </div>
    
    <article class="col-12 col-md-8 mx-auto index-info">
      <h2 class="index-header">
        
        <a href="/e-page/news/2023/10/23/how-to-write-hexo-theme-layout/" target="_self">
          怎么编写hexo主题-layout 2
        </a>
      </h2>

      
      <a class="index-excerpt " href="/e-page/news/2023/10/23/how-to-write-hexo-theme-layout/" target="_self">
        <div>
          layout是hexo的所有页面的模板页，是hexo主题的骨架。而整体的结构一般都会由各个部件组成，比如header、menu\footer、sidebar等等。本文先做一个简陋的layout来初步探索下hexo的layout，主题整体目录结构如下图所示：  layout由index以及_partial目录里的4个局部布局模板组成。基本代码如下： 1234567891011121314151617
        </div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>
            <time datetime="2023-10-23 11:00" pubdate>
              2023-10-23
            </time>
          </div>
        
        
          <div class="post-meta mr-3 d-flex align-items-center">
            <i class="iconfont icon-category"></i>
            

<span class="category-chains">
  
  
    
      <span class="category-chain">
        
  <a href="/e-page/news/categories/%E5%89%8D%E7%AB%AF/" class="category-chain-item">前端</a>
  
  

      </span>
    
  
</span>

          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/e-page/news/tags/js/">#js</a>
            
          </div>
        
      </div>
    </article>
  </div>

  <div class="row mx-auto index-card">
    
    
      <div class="col-12 col-md-4 m-auto index-img">
        <a href="/e-page/news/2023/10/20/how-to-write-hexo-theme/" target="_self">
          <img src="/e-page/news/2023/10/20/how-to-write-hexo-theme/pic/my-theme-dir-layer.png" srcset="/e-page/news/img/loading.gif" lazyload alt="怎么编写hexo主题-简介 1">
        </a>
      </div>
    
    <article class="col-12 col-md-8 mx-auto index-info">
      <h2 class="index-header">
        
        <a href="/e-page/news/2023/10/20/how-to-write-hexo-theme/" target="_self">
          怎么编写hexo主题-简介 1
        </a>
      </h2>

      
      <a class="index-excerpt " href="/e-page/news/2023/10/20/how-to-write-hexo-theme/" target="_self">
        <div>
          在创建hexo的项目的时候，会自动创建一个themes的目录，自定的主题或者在git上下载主题就可以放在这个目录下。最简单的主题结构如下：   _config.yml： 主题配置文件。 layout： 布局目录，放置hexo用于生成各种页面的模板ejs文件。 source： 主题资源目录，包括css、js、img等。这里的css、js、img等文件在其他ejs里应用的时候可以忽略source这一层
        </div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>
            <time datetime="2023-10-20 16:42" pubdate>
              2023-10-20
            </time>
          </div>
        
        
          <div class="post-meta mr-3 d-flex align-items-center">
            <i class="iconfont icon-category"></i>
            

<span class="category-chains">
  
  
    
      <span class="category-chain">
        
  <a href="/e-page/news/categories/%E5%89%8D%E7%AB%AF/" class="category-chain-item">前端</a>
  
  

      </span>
    
  
</span>

          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/e-page/news/tags/js/">#js</a>
            
          </div>
        
      </div>
    </article>
  </div>

  <div class="row mx-auto index-card">
    
    
      <div class="col-12 col-md-4 m-auto index-img">
        <a href="/e-page/news/2023/10/09/java-build-tool-ant/" target="_self">
          <img src="/e-page/news/2023/10/09/java-build-tool-ant/pic/ant-dependences-demo.png" srcset="/e-page/news/img/loading.gif" lazyload alt="java构建工具ant简述">
        </a>
      </div>
    
    <article class="col-12 col-md-8 mx-auto index-info">
      <h2 class="index-header">
        
        <a href="/e-page/news/2023/10/09/java-build-tool-ant/" target="_self">
          java构建工具ant简述
        </a>
      </h2>

      
      <a class="index-excerpt " href="/e-page/news/2023/10/09/java-build-tool-ant/" target="_self">
        <div>
          构建工具发展概述一般Java程序的开发过程为：编译，测试，打包。这个过程可以称为构建过程，如果文件比较少，可以使用java, javac, jar命令去做这些事情。但当项目比较复杂，需要编译的文件比较多时，使用命令行的方式就比较繁琐，而且容易出错。 所以开发了自动构建工具帮助开发人员自动化构建过程，其中ant就是其中一种构建工具，算是比较早期的一个，它提供了一套完整的构建脚本，可以自动完成编译，测
        </div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>
            <time datetime="2023-10-09 15:28" pubdate>
              2023-10-09
            </time>
          </div>
        
        
          <div class="post-meta mr-3 d-flex align-items-center">
            <i class="iconfont icon-category"></i>
            

<span class="category-chains">
  
  
    
      <span class="category-chain">
        
  <a href="/e-page/news/categories/%E5%90%8E%E7%AB%AF/" class="category-chain-item">后端</a>
  
  

      </span>
    
  
</span>

          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/e-page/news/tags/java/">#java</a>
            
          </div>
        
      </div>
    </article>
  </div>

  <div class="row mx-auto index-card">
    
    
    <article class="col-12 col-md-12 mx-auto index-info">
      <h2 class="index-header">
        
        <a href="/e-page/news/2023/10/08/serial-version-uid/" target="_self">
          什么是serialVersionUID
        </a>
      </h2>

      
      <a class="index-excerpt index-excerpt__noimg" href="/e-page/news/2023/10/08/serial-version-uid/" target="_self">
        <div>
          serialVersionUID是在实现了Serializable接口的类中，用来表示本类对象版本的一个标识，当反序列化时，JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较，如果相同就认为是一致的，可以进行反序列化，否则就会出现序列化版本不一致的异常InvalidCastException。 一般可以设置成1L，如下： 1priv
        </div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>
            <time datetime="2023-10-08 17:00" pubdate>
              2023-10-08
            </time>
          </div>
        
        
          <div class="post-meta mr-3 d-flex align-items-center">
            <i class="iconfont icon-category"></i>
            

<span class="category-chains">
  
  
    
      <span class="category-chain">
        
  <a href="/e-page/news/categories/%E5%90%8E%E7%AB%AF/" class="category-chain-item">后端</a>
  
  

      </span>
    
  
</span>

          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/e-page/news/tags/java/">#java</a>
            
          </div>
        
      </div>
    </article>
  </div>

  <div class="row mx-auto index-card">
    
    
    <article class="col-12 col-md-12 mx-auto index-info">
      <h2 class="index-header">
        
        <a href="/e-page/news/2023/09/27/the-role-of-hosts-file/" target="_self">
          hosts文件的作用
        </a>
      </h2>

      
      <a class="index-excerpt index-excerpt__noimg" href="/e-page/news/2023/09/27/the-role-of-hosts-file/" target="_self">
        <div>
          在网络上访问网站，要首先通过DNS服务器把网络域名（www.xxx.com）解析成XXX.XXX.XXX.XXX的IP地址后，计算机才能访问。要是对于每个域名请求我们都要等待域名服务器解析后返回IP信息，这样访问网络的效率就会降低，而hosts文件是一个本地主机名称解析文件，它可以帮助用户在本地网络中快速解析域名到IP地址。hosts文件中的每一行都包含一个IP地址和一个主机名，当计算机尝试解析一
        </div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>
            <time datetime="2023-09-27 16:28" pubdate>
              2023-09-27
            </time>
          </div>
        
        
          <div class="post-meta mr-3 d-flex align-items-center">
            <i class="iconfont icon-category"></i>
            

<span class="category-chains">
  
  
    
      <span class="category-chain">
        
  <a href="/e-page/news/categories/%E5%90%8E%E7%AB%AF/" class="category-chain-item">后端</a>
  
  

      </span>
    
  
</span>

          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/e-page/news/tags/%E6%A6%82%E5%BF%B5/">#概念</a>
            
          </div>
        
      </div>
    </article>
  </div>

  <div class="row mx-auto index-card">
    
    
    <article class="col-12 col-md-12 mx-auto index-info">
      <h2 class="index-header">
        
        <a href="/e-page/news/2023/09/27/data-types-in-my-eyes/" target="_self">
          我眼中的数据类型
        </a>
      </h2>

      
      <a class="index-excerpt index-excerpt__noimg" href="/e-page/news/2023/09/27/data-types-in-my-eyes/" target="_self">
        <div>
          数据类型：是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。 个人认为一般可以分为：  基本数据类型：整型、实型、字符型等，这是一种不可再分解的类型，也是各种编程语言为我们提前实现好的数据类型 自定义数据类型：由用户根据实际需要定义的数据类型。比如C中的结构型（struct）、共享型(union)、枚举型(enum)，C++&#x2F;java等面向对象中定义的“类”。  类型一旦定义出
        </div>
      </a>

      <div class="index-btm post-metas">
        
          <div class="post-meta mr-3">
            <i class="iconfont icon-date"></i>
            <time datetime="2023-09-27 15:43" pubdate>
              2023-09-27
            </time>
          </div>
        
        
          <div class="post-meta mr-3 d-flex align-items-center">
            <i class="iconfont icon-category"></i>
            

<span class="category-chains">
  
  
    
      <span class="category-chain">
        
  <a href="/e-page/news/categories/%E5%90%8E%E7%AB%AF/" class="category-chain-item">后端</a>
  
  

      </span>
    
  
</span>

          </div>
        
        
          <div class="post-meta">
            <i class="iconfont icon-tags"></i>
            
              <a href="/e-page/news/tags/%E6%A6%82%E5%BF%B5/">#概念</a>
            
          </div>
        
      </div>
    </article>
  </div>



  <nav aria-label="navigation">
    <span class="pagination" id="pagination">
      <span class="page-number current">1</span><a class="page-number" href="/e-page/news/page/2/#board">2</a><a class="extend next" rel="next" href="/e-page/news/page/2/#board"><i class="iconfont icon-arrowright"></i></a>
    </span>
  </nav>



              </div>
            </div>
          </div>
        </div>
      </div>
    

    
      <a id="scroll-top-button" aria-label="TOP" href="#" role="button">
        <i class="iconfont icon-arrowup" aria-hidden="true"></i>
      </a>
    

    
      <div class="modal fade" id="modalSearch" tabindex="-1" role="dialog" aria-labelledby="ModalLabel"
     aria-hidden="true">
  <div class="modal-dialog modal-dialog-scrollable modal-lg" role="document">
    <div class="modal-content">
      <div class="modal-header text-center">
        <h4 class="modal-title w-100 font-weight-bold">搜索</h4>
        <button type="button" id="local-search-close" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body mx-3">
        <div class="md-form mb-5">
          <input type="text" id="local-search-input" class="form-control validate">
          <label data-error="x" data-success="v" for="local-search-input">关键词</label>
        </div>
        <div class="list-group" id="local-search-result"></div>
      </div>
    </div>
  </div>
</div>

    

    
  </main>

  <footer>
    <div class="footer-inner">
  
    <div class="footer-content">
       <a href="https://hexo.io" target="_blank" rel="nofollow noopener"><span>E-page</span></a> <i class="iconfont icon-love"></i> <a href="https://github.com/fluid-dev/hexo-theme-fluid" target="_blank" rel="nofollow noopener"><span>Fluid</span></a> 
    </div>
  
  
  
  
</div>

  </footer>

  <!-- Scripts -->
  
  <script  src="https://lib.baomitu.com/nprogress/0.2.0/nprogress.min.js" ></script>
  <link  rel="stylesheet" href="https://lib.baomitu.com/nprogress/0.2.0/nprogress.min.css" />

  <script>
    NProgress.configure({"showSpinner":false,"trickleSpeed":100})
    NProgress.start()
    window.addEventListener('load', function() {
      NProgress.done();
    })
  </script>


<script  src="https://lib.baomitu.com/jquery/3.6.4/jquery.min.js" ></script>
<script  src="https://lib.baomitu.com/twitter-bootstrap/4.6.1/js/bootstrap.min.js" ></script>
<script  src="/e-page/news/js/events.js" ></script>
<script  src="/e-page/news/js/plugins.js" ></script>


  <script  src="https://lib.baomitu.com/typed.js/2.0.12/typed.min.js" ></script>
  <script>
    (function (window, document) {
      var typing = Fluid.plugins.typing;
      var subtitle = document.getElementById('subtitle');
      if (!subtitle || !typing) {
        return;
      }
      var text = subtitle.getAttribute('data-typed-text');
      
        typing(text);
      
    })(window, document);
  </script>




  
    <script  src="/e-page/news/js/img-lazyload.js" ></script>
  




  <script  src="/e-page/news/js/local-search.js" ></script>





<!-- 主题的启动项，将它保持在最底部 -->
<!-- the boot of the theme, keep it at the bottom -->
<script  src="/e-page/news/js/boot.js" ></script>


  

  <noscript>
    <div class="noscript-warning">博客在允许 JavaScript 运行的环境下浏览效果更佳</div>
  </noscript>
</body>
</html>
